package com.imooc.homework;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


/**
 * 在页面查询单词
 * 用了4个页面，一个Servlet页面，一个html页面，一个成功访问后的jsp页面，一个fail.jsp页面
 * 定义一个HashMap，存储中英文单词的信息，如apple为key值，苹果为value值
 * 判断key值在HashMap中是否存在，可以使用containsKey（）方法
 * 如果返回值为true，将查询到的结果存储到request中，并转发到success.jsp显示。
 * 如果返回值为false，将结果” 没有找到对应的单词解释”存储到session中
 * 然后重定向到fail.jsp进行显示
 */
@WebServlet("/homework/word")
public class work2_word extends HttpServlet {
	private static final long serialVersionUID = 1L;
       


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String name=(String)request.getParameter("word");
		//定义一个HashMap，存储中英文单词的信息，如apple为key值，苹果为value值
		Map<String,String> map = new HashMap<>();
		map.put("apple","苹果" );
		map.put("banana","香蕉" );
		map.put("water","水" );
		//判断key值在HashMap中是否存在，可以使用containsKey（）方法，返回值是一个boolean类型。
		boolean flag = map.containsKey(name);
		String n = map.get(name);
		//如果返回值为true，将查询到的结果存储到request中，并转发到success.jsp显示。
		if(flag==true) {
			request.setAttribute("word", n);
			request.getRequestDispatcher("/success.jsp").forward(request,response);
		}else if(flag==false) {
			//如果返回值为false，将结果” 没有找到对应的单词解释”存储到session中
			//重定向到fail.jsp进行显示。
			HttpSession session = request.getSession();
			session.setAttribute("message", "没有找到对应的单词解释");
			//重定向的地址中要加上工程的名字，请求转发不用
			response.sendRedirect("/servlet_advanced/fail.jsp");
		}
		
	
	}

}
